-- XSD schema extracted from ITU-T H.761 (11/2014)

<!-- XML Schema for the Media API data types This is NCL Copyright: 005 PUC-RIO/LABORATORIO TELEMIDIA, All Rights Reserved. See http://www.telemidia.puc-rio.br Public URI: http://www.ncl.org.br/NCL3.1/ancillary/mediaAPI.xsd Author: TeleMidia Laboratory Revision: 30/06/2013 Schema for the NCL media API data types. --> <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:mediaAPI="http://www.ncl.org.br/NCL3.1/MediaAPI" targetNamespace="http://www.ncl.org.br/NCL3.1/MediaAPI" elementFormDefault="qualified" attributeFormDefault="unqualified" > <!-- define the temporalAnchorAttrs attribute group --> <attributeGroup name="temporalAnchorAttrs"> <attribute name="begin" type="string" use="optional"/> <attribute name="end" type="string" use="optional"/> </attributeGroup> <!-- define the textAnchorAttrs attribute group --> <attributeGroup name="textAnchorAttrs"> <attribute name="beginText" type="string" use="optional"/> <attribute name="beginPosition" type="unsignedLong" use="optional"/> <attribute name="endText" type="string" use="optional"/> <attribute name="endPosition" type="unsignedLong" use="optional"/> </attributeGroup> <!-- define the sampleAnchorAttrs attribute group --> <attributeGroup name="sampleAnchorAttrs"> <attribute name="first" type="string" use="optional"/> <attribute name="last" type="string" use="optional"/> </attributeGroup> <!-- define the coordsAnchorAttrs attribute group --> <attributeGroup name="coordsAnchorAttrs"> <attribute name="coords" type="string" use="optional"/> </attributeGroup> <!-- define the labelAttrs attribute group --> <attributeGroup name="labelAttrs"> <attribute name="label" type="string" use="optional"/> </attributeGroup> <!-- define the clip attribute group --> <attributeGroup name="clipAttrs"> <attribute name="clip" type="string" use="optional"/> </attributeGroup> <!-- define the default attribute group --> <!-- define the values for defaults--> <simpleType name="defaultType"> <restriction base="string"> <enumeration value="wholeContentAnchor" /> <enumeration value="mainContentAnchor" /> </restriction> </simpleType> <attributeGroup name="defaultAttrs"> <attribute name="specialAnchor" type="mediaAPI:defaultType" use="optional"/> </attributeGroup> <!-- define the values for actions--> <simpleType name="actionType"> <restriction base="string"> <enumeration value="start" /> <enumeration value="stop" /> <enumeration value="pause" /> <enumeration value="resume" /> <enumeration value="abort" /> </restriction> </simpleType> <!-- define the values for transistions--> <simpleType name="transitionType"> <restriction base="string"> <enumeration value="starts" /> <enumeration value="stops" /> <enumeration value="pauses" /> <enumeration value="resumes" /> <enumeration value="aborts" /> </restriction> </simpleType> <!-- define the value for the content locator--> <simpleType name="URIlistPrototype"> <list itemType="anyURI"/> </simpleType> <!-- define the values for transistions event type--> <simpleType name="eventRestrictedPrototype"> <restriction base="string"> <enumeration value="presentation" /> <enumeration value="selection" /> </restriction> </simpleType> <!-- define the values for properties--> <simpleType name="propertyPrototype"> <restriction base="string"> <enumeration value="layout" /> <enumeration value="position" /> <enumeration value="size" /> <enumeration value="sizePosition" /> <enumeration value="plane" /> <enumeration value="device" /> <enumeration value="time" /> <enumeration value="color" /> <enumeration value="percent" /> <enumeration value="RGB888" /> <enumeration value="fit" /> <enumeration value="scroll" /> <enumeration value="style" /> <enumeration value="balance" /> <enumeration value="alignment" /> <enumeration value="fontStyle" /> <enumeration value="fontFamily" /> <enumeration value="fontSize" /> <enumeration value="fontVariant" /> <enumeration value="fontWeight" /> <enumeration value="playerLife" /> <enumeration value="optinal integer" /> <enumeration value="optionalURI" /> <enumeration value="optionalTransition" /> <enumeration value="unsignedInteger" /> <enumeration value="date" /> <enumeration value="short" /> <enumeration value="anyURI" /> <enumeration value="ID" /> <enumeration value="IDREF" /> <enumeration value="unsigned short" /> <enumeration value="long" /> <enumeration value="unsigned long" /> <enumeration value="float" /> <enumeration value="double" /> <enumeration value="char" /> <enumeration value="string" /> <enumeration value="Boolean" /> <enumeration value="octet" /> </restriction> </simpleType> <!-- declare global elements in this module --> <element name="transition" type="mediaAPI:transitionType"/> <element name="action" type="mediaAPI:actionType"/> <!-- define the <area> type--> <complexType name="anchorType"> <attribute name="eventId" type="ID" use="required"/> <attribute name="eventType" type="mediaAPI:eventRestrictedPrototype" use="required"/> <attributeGroup ref="mediaAPI:coordsAnchorAttrs" /> <attributeGroup ref="mediaAPI:temporalAnchorAttrs" /> <attributeGroup ref="mediaAPI:textAnchorAttrs" /> <attributeGroup ref="mediaAPI:sampleAnchorAttrs" /> <attributeGroup ref="mediaAPI:labelAttrs" /> <attributeGroup ref="mediaAPI:clipAttrs" /> <attributeGroup ref="mediaAPI:defaultAttrs" /> </complexType> <!-- declare global elements in this module --> <element name="area" type="mediaAPI:anchorType"/> <!-- define the <property> type--> <complexType name="propertyType"> <attribute name="eventId" type="ID" use="required"/> <attribute name="name" type="string" use="required" /> <attribute name="value" type="string" use="optional"/> <attribute name="type" type="mediaAPI:propertyPrototype" use="required"/> <attribute name="externable" type="boolean" use="required"/> </complexType> <!-- declare global elements in this module --> <element name="property" type="mediaAPI:propertyType"/> <!-- define the <media> and <event> types--> <group name="mediaInterfaceElementGroup"> <choice> <element ref="mediaAPI:area"/> <element ref="mediaAPI:property"/> </choice> </group> <complexType name="mediaType"> <choice minOccurs="0" maxOccurs="unbounded"> <group ref="mediaAPI:mediaInterfaceElementGroup"/> </choice> <attribute name="src" type="mediaAPI:URIlistPrototype" use="required"/> </complexType> <complexType name="eventType"> <choice minOccurs="1" maxOccurs="1"> <group ref="mediaAPI:mediaInterfaceElementGroup"/> </choice> </complexType> <!-- declare global elements in this module --> <element name="media" type="mediaAPI:mediaType"/> <element name="event" type="mediaAPI:eventType"/> </schema>